$(function () {
    //抽取js变量
    var dept_datagrid = $("#dept_datagrid");
    var dept_dialog = $("#dept_dialog");
    var dept_form = $("#dept_form");

    dept_datagrid.datagrid({
        url:'/department/query.do',
        fitColumns:true,
        fit:true,//自动填充
        toolbar:'#dept_toolbar',
        pagination:true, //在DataGrid控件底部显示分页工具栏
        rownumbers:true, //显示一个行号列。
        singleSelect:true,//只允许选择一行
        striped:true, //显示斑马线效果
        columns:[[
            {field:'id',checkbox: true},
            {field:'name',title:'部门名称',width:80},
            {field:'sn',title:'部门编码',width:80},
        ]],
    });

    var methodObj = {
        add:function () {
            //打开弹出框
            dept_dialog.dialog('open');
            //设置标题
            dept_dialog.dialog('setTitle','新增部门');
        },
        edit:function () {

            //获取当前选中的行
            var row = dept_datagrid.datagrid('getSelected')

            if(!row){
                //提示用户
                $.messager.alert('温馨提示','请选择一条数据!','warning');
                return;
            }

            //回显表单数据(根据同名匹配的原则,row对象中的属性名要与form中的name相同才可以回显)
            dept_form.form('load',row);

            //打开弹出框
            dept_dialog.dialog('open');

            //设置标题
            dept_dialog.dialog('setTitle','编辑部门');
        },
        save:function () {
            //提交表单
            dept_form.form('submit',{
                url:'/department/saveOrUpdate.do',
                onSubmit:function (param) {
                    //手动调用验证表单的方法
                    return dept_form.form('validate');
                },

                success:function (data) {
                    data = $.parseJSON(data);
                    if(data.success){
                        //提示用户操作结果
                        $.messager.alert('温馨提示','保存成功!','info',function () {
                            //关闭弹出框
                            methodObj.cancel();
                            //让datagrid重新重新部门数据
                            dept_datagrid.datagrid('reload');
                        })

                    }else{
                        $.messager.alert('温馨提示',data.msg,'error')
                    }
                }
            })
        },
        cancel:function () {
            dept_dialog.dialog('close');
        },
        del:function () {
            //判断是否有数据
            var row = dept_datagrid.datagrid('getSelected');
            if(!row){
                //提示用户
                $.messager.alert('温馨提示','请选择一条数据!','warning');
                return;
            }
            //弹出确认框
            $.messager.confirm('确认','您确定要操作吗?',function (r) {
                if (r) {
                    //发送请求到后台
                    $.get("/department/delete.do",{id:row.id},function (data) {
                        if (data.success) {
                            $.messager.alert('温馨提示','操作成功!','info',function () {
                                dept_datagrid.datagrid('reload');
                            })
                        }else{
                            $.messager.alert('温馨提示','操作失败','error');
                        }
                    })
                }
            })
        }
    }


    $("a[data-cmd]").click(function () {
        var methodName = $(this).data("cmd");
        methodObj[methodName]();
    })


    dept_dialog.dialog({
        width:300,
        height:385,
        buttons:'#form_btns',
        closed:true,
        onClose:function () {
            //清空表单
            dept_form.form('clear');
        }
    })
})










